PostgreSQL 编译安装通用步骤 您所在的位置:网站首页 postgresql 获取ddl PostgreSQL 编译安装通用步骤

PostgreSQL 编译安装通用步骤

2023-06-28 09:39| 来源: 网络整理| 查看: 265

导读

postgresql的源码编译安装比较复杂。笔记总结了从pg12-pg15的安装方式并作了抽象。基本上通用于pg12以来的编译安装操作了。在这里分享给大家,希望给大家提供便利。

本文基于Centos7.9-x86_64的环境。

注意:关键的一节是二、配置安装需求,这里是本文的全局配置,以环境变量的形式。一定不要随便起一个会话就执行,得有这些配置变量才行。

Here we go!!! >>>

一、安装依赖包 1.1 操作系统工具包

安装命令:

yum install -y vim lrzsz wget bzip2 unzip net-tools telnet tree mlocate bash-completion 1.2 PG依赖包

安装命令:

yum install -y readline readline-devel zlib zlib-devel bison bison-devel flex perl-ExtUtils-Embed perl-devel \ openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxslt-devel tcl tcl-devel \ openldap openldap-devel python python-devel gcc gcc-c++ rsync icu libicu-devel \ e2fsprogs-devel uuid uuid-devel libuuid-devel

PG15及以上版本需要 Python3+

yum install -y python3 python3-devel 二、配置安装需求

本文档使用变量来定义需求,命令如下:

export PG_VERSION_NUM=15.3 export PG_NAME=postgresql-${PG_VERSION_NUM} export PG_PKGFILE_NAME=postgresql-${PG_VERSION_NUM}.tar.bz2 export PG_PKGFILE_MD5=postgresql-${PG_VERSION_NUM}.tar.bz2.md5 export PG_SRC_DEST_DIR=/usr/local/src export PG_SRC_FULL_PATH=${PG_SRC_DEST_DIR}/${PG_NAME} export PG_INSTALL_PATH=/opt/pgsql${PG_VERSION_NUM} export PG_DATA_PARENT_DIR=/pgdata/${PG_VERSION_NUM} export PG_DATA_FULL_PATH=${PG_DATA_PARENT_DIR}/data

说明:

PG_VERSION_NUM:版本号,数字小数点组成;PG_NAME:源码包解压后的目录名;PG_PKGFILE_NAME:源码包完整名称;PG_PKGFILE_MD5:源码包验证散列值;PG_SRC_DEST:源码安装目标路径;PG_SRC_FULL_PATH:源码完整路径,该目录下就是源码;PG_INSTALL_PATH:二进制文件的安装目录;PG_DATA_PARENT_DIR:数据目录(PGDATA)在这个目录下;PG_DATA_FULL_PATH:数据目录(PGDATA)的完整路径,该目录下就是PADATA内容。 三、下载源码

#下载:

wget https://ftp.postgresql.org/pub/source/v${PG_VERSION_NUM}/postgresql-${PG_VERSION_NUM}.tar.bz2 wget https://ftp.postgresql.org/pub/source/v${PG_VERSION_NUM}/postgresql-${PG_VERSION_NUM}.tar.bz2.md5

#校验:

md5sum -c ${PG_PKGFILE_MD5}

#解压到指定位置:

tar -xjvf ${PG_PKGFILE_NAME} -C ${PG_SRC_DEST_DIR} 四、编译安装 4.1 创建 build 目录

进入源码目录执行命令:

mkdir ${PG_SRC_FULL_PATH}/build && cd ${PG_SRC_FULL_PATH}/build 4.2 编译配置

一般配置命令:

../configure --prefix=${PG_INSTALL_PATH} --with-libxml --with-ssl=openssl --with-uuid=ossp \ --with-systemd --with-python --with-perl --with-icu

使用编译安装的 ICU 可能需要这样(推荐):

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig \ ../configure --prefix=${PG_INSTALL_PATH} --with-libxml --with-ssl=openssl --with-uuid=ossp \ --with-systemd --with-python --with-perl --with-icu

你需要知道ICU编译安装到哪个路径下,这里的PKG_CONFIG_PATH是指代添加到 pkg-config 搜索路径的目录。

4.3 编译安装

执行命令:

make -j$(nproc) && make install -j$(nproc) 五、创建用户和目录 5.1 创建用户

创建操作系统用户postgres:

/usr/sbin/groupadd postgres /usr/sbin/useradd -g postgres postgres -c "${PG_NAME} Server" echo "postgres:666666" | chpasswd 5.2 创建相关目录

创建一些目录以及相应的权限:

mkdir -p ${PG_INSTALL_PATH} mkdir -p ${PG_DATA_FULL_PATH} ln -sf ${PG_INSTALL_PATH} /opt/pgsql chown -R postgres.postgres ${PG_INSTALL_PATH} chown -R postgres.postgres ${PG_DATA_PARENT_DIR} chmod 0700 ${PG_INSTALL_PATH} chmod 0700 ${PG_DATA_FULL_PATH} 5.3 配置环境变量

配置用户 postgres 环境变量:

cat >> /home/postgres/.bash_profile


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有